// /* eslint-disable @typescript-eslint/no-unused-vars */
// /* eslint-disable @typescript-eslint/no-use-before-define */
// import DictTag from "@/components/DictTag";
// import role from "@/services/api/authority/role";
// import { dict } from "@/services/api/monitor/dict";
// import oss from "@/services/api/oss/oss";
// import { DeleteOutlined, ExclamationCircleFilled, PlusOutlined } from "@ant-design/icons";
// import { ActionType, ProColumns, ProTable } from "@ant-design/pro-components";
// import { FormattedMessage, useAccess, useIntl } from "@umijs/max";
// import { Button, Divider, FormInstance, Modal, Popconfirm, Space, Typography, message } from "antd";
// import { DataNode } from "antd/es/tree";
// import React, { useEffect, useRef, useState } from "react";
// import UploadForm, { OssUploadFormData } from "./UploadForm";

// const { confirm } = Modal;
// const OssFileList: React.FC = () => {
// 	const formTableRef = useRef<FormInstance>();
// 	const [modalVisible, setModalVisible] = useState<boolean>(false);
// 	const [formOpen, setFormOpen] = useState<boolean>(false);
// 	const actionRef = useRef<ActionType>();
// 	const [currentRow, setCurrentRow] = useState<API.System.Role>();
// 	const [currentId, setCurrentId] = useState<number | undefined>(undefined);
// 	const [scopeRoleId, setScopeRoleId] = useState<number | undefined>(undefined);
// 	const [scopeOpen, setScopeOpen] = useState<boolean>(false);
// 	const [selectedRows, setSelectedRows] = useState<API.System.Role[]>([]);
// 	const [menuTree, setMenuTree] = useState<DataNode[]>();
// 	const [menuIds, setMenuIds] = useState<string[]>([]);
// 	const [statusOptions, setStatusOptions] = useState<any>([]);
// 	const [dataScopeEnums, setDataSCopeEnums] = useState<any>([]);
// 	const [fileTypeOptions, setFileTypeOptions] = useState<any>([]);
// 	const access = useAccess();
// 	/** 国际化配置 */
// 	const intl = useIntl();
// 	useEffect(() => {
// 		dict.getDict("sys_normal_disable").then(data => {
// 			setStatusOptions(data);
// 		});
// 		dict.getDict("sys_data_scope").then(data => {
// 			setDataSCopeEnums(data);
// 		});
// 		console.log("aa");
// 		dict.getDict("sys_file_type").then(data => {
// 			console.log(data);
// 			setFileTypeOptions(data);
// 		});
// 	}, []);
// 	// 列定义
// 	const columns: ProColumns<API.System.OssVo>[] = [
// 		{
// 			title: "文件名称",
// 			dataIndex: "fileName",
// 			valueType: "text"
// 		},
// 		{
// 			title: "原名称",
// 			dataIndex: "originalName",
// 			valueType: "text"
// 		},
// 		{
// 			title: "文件类型",
// 			dataIndex: "fileType",
// 			valueType: "select",
// 			valueEnum: fileTypeOptions,
// 			render: (_, record) => {
// 				return <DictTag type="tag" enums={fileTypeOptions} value={record?.fileType} />;
// 			}
// 		},
// 		{
// 			title: "文件大小",
// 			dataIndex: "fileSize",
// 			valueType: "text"
// 		},
// 		{
// 			title: "上传人",
// 			dataIndex: "createByName",
// 			valueType: "text"
// 		},
// 		{
// 			title: "服务商",
// 			dataIndex: "service",
// 			valueType: "text"
// 		},
// 		{
// 			title: "创建时间",
// 			dataIndex: "createTime",
// 			valueType: "text"
// 			// hideInTable: true,
// 			// search: {
// 			//   transform: (value) => {
// 			//     return {
// 			//       beginTime: value[0],
// 			//       endTime: value[1],
// 			//     };
// 			//   },
// 			// },
// 		},
// 		{
// 			title: <FormattedMessage id="pages.searchTable.titleOption" defaultMessage="操作" />,
// 			dataIndex: "option",
// 			width: 180,
// 			valueType: "option",
// 			render: (_, record: any) => {
// 				return (
// 					<>
// 						{!record.superAdmin && (
// 							<Space size={1} split={<Divider type="vertical" />}>
// 								<Typography.Link key="download" onClick={() => {}}>
// 									下载
// 								</Typography.Link>
// 								<Typography.Link
// 									hidden={!access.hasPerms("system:role:update")}
// 									key="details"
// 									onClick={() => {
// 										setModalVisible(true);
// 										setCurrentId(record.id);
// 									}}
// 								>
// 									详情
// 								</Typography.Link>
// 								<Popconfirm
// 									placement="bottomRight"
// 									title="提示"
// 									description={`确认要删除角色名称为: "${record.roleName}" 的角色吗？`}
// 									key="remove"
// 									onConfirm={async () => handleRemove(record.id)}
// 									okText="确认"
// 									cancelText="取消"
// 								>
// 									<Typography.Link type="danger" hidden={!access.hasPerms("system:role:remove")} key="removeBtn">
// 										删除
// 									</Typography.Link>
// 								</Popconfirm>
// 							</Space>
// 						)}
// 					</>
// 				);
// 			}
// 		}
// 	];
// 	// 删除
// 	const handleRemove = async (ids: number | Array<number>) => {
// 		return new Promise((reslove, reject) => {
// 			role
// 				.remove(ids)
// 				.then((res: any) => {
// 					message.success(res.msg);
// 					if (actionRef.current) {
// 						actionRef.current.reload();
// 					}
// 					reslove(true);
// 				})
// 				.catch(() => {
// 					reject(true);
// 				});
// 		});
// 	};
// 	// 删除警告提示
// 	const showRemoveConfirm = (ids: Array<number>, names: Array<string>) => {
// 		confirm({
// 			title: "警告",
// 			icon: <ExclamationCircleFilled />,
// 			content: `确认删除角色名称为：${names} 的角色吗?`,
// 			onOk() {
// 				return handleRemove(ids);
// 			},
// 			onCancel() {}
// 		});
// 	};

// 	// 关闭表单刷新列表
// 	const handleTableForm = async () => {
// 		setFormOpen(false);
// 		setCurrentId(undefined);
// 		actionRef?.current?.reload();
// 	};

// 	return (
// 		<>
// 			<ProTable<API.System.OssVo>
// 				cardProps={{
// 					bodyStyle: {
// 						height: "calc(100vh - 250px)"
// 					}
// 				}}
// 				actionRef={actionRef}
// 				headerTitle="文件列表"
// 				formRef={formTableRef}
// 				tableStyle={{ minHeight: "calc(100vh - 381px)" }}
// 				rowKey="id"
// 				search={{
// 					filterType: "light"
// 				}}
// 				pagination={{
// 					defaultPageSize: 10,
// 					showQuickJumper: true,
// 					showSizeChanger: true
// 				}}
// 				request={async (params: any) => {
// 					return await oss.getPageList(params).then((res: any) => {
// 						return res;
// 					});
// 				}}
// 				toolBar={{
// 					settings: () => <div>12312</div>
// 				}}
// 				toolBarRender={() => [
// 					<Button
// 						type="primary"
// 						key="upload"
// 						onClick={async () => {
// 							setFormOpen(true);
// 						}}
// 					>
// 						<PlusOutlined /> 上传文件
// 					</Button>,
// 					<Button
// 						type="primary"
// 						key="remove"
// 						danger
// 						hidden={selectedRows?.length === 0 || !access.hasPerms("system:role:remove")}
// 						onClick={async () => {
// 							//todo 如果选中包含超级管理员也没办法显示，需要做
// 							showRemoveConfirm(
// 								Array.from(selectedRows, ({ id }) => id),
// 								Array.from(selectedRows, ({ roleName }) => roleName)
// 							);
// 						}}
// 					>
// 						<DeleteOutlined />
// 						批量删除
// 					</Button>
// 				]}
// 				columns={columns}
// 				rowSelection={{
// 					onChange: (_: any, selectedRows: any) => {
// 						setSelectedRows(selectedRows);
// 					}
// 				}}
// 				tableAlertRender={false}
// 			/>
// 			<UploadForm
// 				open={formOpen}
// 				onCancel={() => {
// 					setFormOpen(false);
// 				}}
// 				onSubmit={(values: OssUploadFormData) => {
// 					throw new Error("Function not implemented.");
// 				}}
// 			/>
// 		</>
// 	);
// };

// export default OssFileList;
